package com.water_work_form.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.water_work_form.entity.RecordPotentialPh;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.IOException;
import java.util.Map;

/**
 * <p>
 * 记录——电位法检测pH原始记录 服务类
 * </p>
 *
 * @author xuke
 * @since 2023-09-14
 */
public interface RecordPotentialPhService extends IService<RecordPotentialPh> {

    /**
     * 记录——电位法检测pH原始记录 项目查询（两个查询项+分页）
     * @param checkStartDate 检测日期（check_date）范围查询的开始日期 若为空则不进行此项查询，否则返回check_date大于checkStartDate的数据
     * @param checkEndDate 检测日期（check_date）范围查询的结束日期 若为空则不进行此项查询，否则返回check_date小于checkEndDate的数据
     * @param checkSite 检测地点（check_site） 若为空则不进行此项查询，否则进行模糊查询
     * @param current 分页查询 当前页数
     * @param size 分页查询 每页最大数据量
     * @return 返回上述查询后的数据 按照状态（status）、领样日期（receive_date）、检测日期（check_date）的顺序进行升序排序
     */
    IPage<RecordPotentialPh> selectRecordPotentialPh(String checkStartDate, String checkEndDate, String checkSite, String status, Integer current, Integer size);

    /**
     * 记录——电位法检测pH原始记录 基础表数据查询
     * @param name form表name查询项
     * @param type device表type查询项
     * @param restrictionName restriction表name查询项
     * @param waterId water表id查询项
     * @param batchNumber1 ph_liquid表batch_number查询项
     * @param batchNumber2 ph_liquid表batch_number查询项
     * @param batchNumber3 ph_liquid表batch_number查询项
     * @param diluteNo ph_dilute表dilute_no查询项
     * @return 返回符合上述条件的数据 唯一查询项以表名为键名，多个查询项则以查询项数字编号
     */
    Map<String,Object> selectBasicPotentialPh(String name, String type, String restrictionName, String waterType, String batchNumber1, String batchNumber2, String batchNumber3, String diluteNo);

    void downloadRecordPotentialPh(RecordPotentialPh recordPotentialPh) throws IOException;
}
